home *** CD-ROM | disk | FTP | other *** search
/ PC Shareware 1997 February / PC Shareware 1997-02.iso / programy / envlp122 / envelop.1 / upldpkg.eto < prev    next >
Encoding:
Text File  |  1996-03-15  |  66.1 KB  |  2,026 lines

  1. Type PasswordBox From TextBox
  2.   Dim MaskCode As Integer
  3.   Dim PasswordEntry As String
  4.   Event Validate()
  5.   Event Validated(ByVal ok As Boolean)
  6.  
  7.   ' METHODS for object: PasswordBox
  8.   Sub Clear()
  9.     ' Clear the contents
  10.     PasswordEntry = ""
  11.     Text = ""
  12.   End Sub
  13.  
  14.   Sub KeyPress(keyAscii As Integer)
  15.     ' This code prevents the user from entering unwanted characters
  16.     Select Case keyAscii
  17.       Case 1 To 7, 9 To 12, 14 To 26 ' Crtl-A through Ctrl-Z
  18.         keyAscii = 0
  19.       Case 8
  20.         ' Need to remove a character from Password box
  21.         If PasswordEntry = "" Then 
  22.           Exit Sub
  23.         Else 
  24.           If SelLength > 0 Then 
  25.             ' Delete the current selection
  26.             PasswordEntry = Left(PasswordEntry, SelStart) & Mid(PasswordEntry, SelStart + SelLength + 1)
  27.           Else 
  28.             ' Delete the character to the left
  29.             PasswordEntry = Left(PasswordEntry, SelStart - 1) & Mid(PasswordEntry, SelStart + 1)
  30.           End If
  31.         End If
  32.       Case 9 ' Tab
  33.         keyAscii = 0
  34.       Case 10 ' Ctrl-Enter
  35.         keyAscii = 0
  36.       Case 13 ' Enter
  37.         SendEvent Validate
  38.         keyAscii = 0
  39.       Case 127 ' Ctrl-Backspace
  40.         keyAscii = 0
  41.       Case Else
  42.         ' Form the new string by taking the characters up to the insert point, the new character,
  43.         ' and the characters after any current selection (effectively deleting them)
  44.         PasswordEntry = Left(PasswordEntry, SelStart) & Chr(keyAscii) & Mid(PasswordEntry, SelStart + SelLength + 1)
  45.   
  46.         ' Trick TextBox into thinking a '*' was pressed instead of the real character
  47.         ' 88 is the code for X while 42 is the code for an asterisk *
  48.         keyAscii = MaskCode
  49.     End Select
  50.   End Sub
  51.  
  52.   Function TextUnload(ByVal indent As String, cmds As String) As Integer
  53.     cmds = cmds & TextFieldUnload(Me, indent, "MaskCode")
  54.     TextUnload = False
  55.   End Function
  56.  
  57. End Type
  58.  
  59. Type UploadPackageInstaller
  60.   Type UploadWizardInstall From WizardMaster.Wizard
  61.     Type InstChoice From WizardMaster.FrmStep
  62.       Dim optDoInstall As New OptionButton
  63.       Dim optDontInstall As New OptionButton
  64.  
  65.       ' METHODS for object: UploadPackageInstaller.UploadWizardInstall.InstChoice
  66.       Sub BtnFinish_Click()
  67.         Dim ok As Boolean
  68.       
  69.         ' Raise the validatefinish event on the step and its containing
  70.         ' wizard
  71.         ' This invokes: Me.ValidateFinish(ok) and
  72.         ' wizard.StepName_ValidateFinish(ok)
  73.         ' if either exists
  74.         ok = True
  75.         SendEvent ValidateFinish(ok)
  76.       
  77.         ' Also raise finish event on the wizard alone.
  78.         ' This invokes wizard.Finish(ok) if it exists.
  79.         SendEvent wizard.Finish(ok)
  80.       
  81.         ' Hide and return an OK result if ok
  82.       
  83.         If ok Then 
  84.           Hide
  85.           ModalResult(IIf(optDoInstall.Value, IDOK, IDCANCEL))
  86.         End If
  87.       End Sub
  88.  
  89.     End Type
  90.  
  91.     ' METHODS for object: UploadPackageInstaller.UploadWizardInstall
  92.     Sub InstChoice_ValidateDisplay(ok As Boolean)
  93.       InstChoice.optDoInstall.Value = True
  94.     End Sub
  95.  
  96.   End Type
  97.  
  98.   ' METHODS for object: UploadPackageInstaller
  99.   Sub Preload()
  100.     Dim r as Long
  101.     Dim module as ObjectModule
  102.     Dim f As New File
  103.   
  104.     ' If the Tools menu isn't here, bail
  105.     If Not FindObject("EnvelopForm.EnvelopMenus.EnvelopToolsMenu") Then Exit Sub
  106.   
  107.     module = ModuleManager.ModuleContaining(Me)
  108.   
  109.     ' Get the filename of the object module so that we can use its
  110.     ' path to find the upldptch.eto patch module (or bail if it ain't here
  111.     f.FileName = module.FileName
  112.   
  113.     f.FileName = f.Path & "upldptch.eto"
  114.     If Not f.Exists Then 
  115.       InfoBox.Message("Upload Package Install", "Unable to install the upload wizards.  The file, 'upldptch.eto' was not found in the directory: " & f.Path)
  116.       Exit Sub
  117.     End If
  118.   
  119.     ' Let the user refuse us if he wants to (this should be an embedded 1 step wizard that
  120.     ' tells the user what's going to happen and cancel will abort us, finish will do it
  121.     r = UploadWizardInstall.ShowModal
  122.   
  123.     If r <> IDOK Then Exit Sub
  124.   
  125.     If ModuleManager.ModuleContaining(EnvelopForm).ReadOnly Then
  126.        MessageBox.Message("No Write Permission", "Upload Wizard Installation can not proceed.^M^JThe file, " & ModuleManager.ModuleContaining(EnvelopForm).FileName & ", does not have write persmissions set.^M^JTo fix this problem, exit Envelop, change the permissions of the file^M^Jto make it writeable, and restart Envelop.")
  127.        Exit Sub
  128.     End If
  129.  
  130.     ' Back up the envelop.ebo
  131.     ModuleManager.ModuleContaining(EnvelopForm).SaveAs(App.Path & "envelop.bak", False)
  132.   
  133.     ' Add the menu item (unless its already in)
  134.     With EnvelopForm.EnvelopMenus.EnvelopToolsMenu
  135.       If .ItemPosition("UpldPkgUploadItem") <> -1 Then Exit Sub
  136.       .InsertSeparator(-1)
  137.       .InsertItem("UpldPkgUploadItem", "Upload...", -1)
  138.     End With ' EnvelopForm.EnvelopMenus.EnvelopToolsMenu
  139.   
  140.     ' Load the patch that contains the callbacks for our Upload... menu
  141.     ModuleManager.LoadModule(f.FileName, False)
  142.   
  143.     ' Save the envelop.ebo
  144.     ModuleManager.ModuleContaining(EnvelopForm).SaveAs(App.Path & "envelop.ebo", False)
  145.   
  146.     ' Save our ebo to the program directory
  147.     ' Prior to saving we delete installer (and its embedded 1 step wizard)
  148.     DestroyObject Me
  149.     module.SaveAs(App.Path & "upldpkg.ebo", False)
  150.   
  151.   
  152.   End Sub
  153.  
  154.   Sub TextPreLoad()
  155.     RequestObjectPreload UploadPackageInstaller
  156.   End Sub
  157.  
  158. End Type
  159.  
  160. Type FTPtransfer
  161.   Dim Username As String
  162.   Dim Password As String
  163.   Dim RemoteHost As String
  164.   Dim RemoteDir As String
  165.   Property ProgExists Get FTPProgExists As Boolean
  166.   Declare Function SearchPath Lib "kernel32" Alias "SearchPathA" (ByVal path As Long, ByVal target As String, ByVal ext As Long, ByVal cchBuf As Long, ByVal buf As Long, namePartAddr As Long) As Long
  167.  
  168.   ' METHODS for object: FTPtransfer
  169.   Function FTPProgExists As Boolean
  170.   End Function
  171.  
  172.   Function Receive(FileName As String) As String
  173.   
  174.   End Function
  175.  
  176.   Function Send(FileName As String) As String
  177.   
  178.   End Function
  179.  
  180. End Type
  181.  
  182. Type UploadWizardSelect From WizardMaster.Wizard
  183.   Type SelectWiz From WizardMaster.FrmStep
  184.     Dim optUploadFOB As New OptionButton
  185.     Dim optHomepage As New OptionButton
  186.  
  187.     ' METHODS for object: UploadWizardSelect.SelectWiz
  188.     Sub BtnNext_Click()
  189.     
  190.       If optUploadFOB.Value = True Then 
  191.         BtnFinish_Click
  192.         FOBUploadWizard.Show
  193.       ElseIf optHomepage.Value = True Then 
  194.         BtnFinish_Click
  195.         MemPageUploadWizard.Show
  196.       End If
  197.     End Sub
  198.  
  199.     Function Display (curStep As WizardMaster.FrmStep, direction As String, modal As Boolean) As Long
  200.       Dim ok as Boolean
  201.     
  202.       ' Enable Next and Back buttons if they lead somewhere
  203.       BtnBack.Enabled = BackStep
  204.       ' BtnNext.Enabled = NextStep
  205.     
  206.       ' Enable Next button cuz even though this wizard has no more
  207.       ' steps, next will take us to one of our other upload wizards
  208.       BtnNext.Enabled = True
  209.     
  210.       ' Disable the finish button so that only Next & Cancel are enabled
  211.       BtnFinish.Enabled = False
  212.     
  213.       ' Set default button to be the Next button
  214.     
  215.       DefaultButton = BtnNext
  216.     
  217.       DefaultButton.SetFocus
  218.     
  219.       ' Move me to the same position as curStep form
  220.       If curStep Then Move(curStep.Left, curStep.Top, curStep.Width, curStep.Height)
  221.     
  222.       ' Validate the show by rasing the ValidateDisplay Event
  223.       ' ok is passed by reference, so we will see any changes
  224.       ' handlers make to it. Load the form prior to validate to
  225.       ' ensure creation of windows for controls we may be initing
  226.       ok = True
  227.       LoadForm
  228.       SendEvent ValidateDisplay(ok)
  229.     
  230.       ' If Display is not valid, throw
  231.       If Not ok Then Throw InvalidStep
  232.     
  233.       ' Show me
  234.       Show
  235.     
  236.     
  237.       ' If we are coming from somewhare...
  238.       If curStep Then 
  239.         ' Hide the curStep form
  240.         curStep.Hide
  241.     
  242.         ' If we moved forward from this place,
  243.         ' make sure we can get back
  244.         If direction = "Next" Then BackStep = curStep
  245.     
  246.       End If
  247.     
  248.       Display = IIf(modal, ShowModal, -1)
  249.     End Function
  250.  
  251.   End Type
  252.  
  253.   ' METHODS for object: UploadWizardSelect
  254.   Sub SelectWiz_ValidateDisplay(ok As Boolean)
  255.     SelectWiz.optUploadFOB.Value = True
  256.   End Sub
  257.  
  258. End Type
  259.  
  260. Type FTPpassive From FTPtransfer
  261.  
  262.   ' METHODS for object: FTPpassive
  263.   Sub BuildIniFile (title As String)
  264.     Dim s As New TextFile
  265.   
  266.     ' Create the ini file for ws_ftp32
  267.     s.FileName = title
  268.     s.Create -1
  269.     s.Print "[_config_]"
  270.     s.Print "SESSION=envelop"
  271.     s.Print "AUTOSTART=0"
  272.     s.Print "MAILADDR=" & Password
  273.     s.Print " "
  274.     s.Print "[envelop]"
  275.     s.Print "HOST=" & RemoteHost
  276.     s.Print "UID=" & Username
  277.     ' note: the password is some kind of encoded version of
  278.     ' the real password.  this should not matter for anonymous
  279.     ' logins, but it is an issue of you must supply a genuine
  280.     ' password.  Anonymous logins make use of the MAILADDR line.
  281.     s.Print "PWD=" & Password
  282.     s.Print "LOCDIR=\temp"
  283.     s.Print "DIR=" & RemoteDir
  284.     s.Print "PASVMODE=1"
  285.     s.Close
  286.   
  287.   End Sub
  288.  
  289.   Function FTPProgExists As Boolean
  290.     Dim db As New DataBuffer
  291.     Dim r, namePartAddr As Long
  292.     Dim ok As Boolean
  293.     db.Size = 200
  294.     r = SearchPath(0, "ws_ftp32.exe", 0, 260, db.Data, namePartAddr)
  295.     ok = r > 0 && r < db.Size
  296.     FTPProgExists = ok
  297.   End Function
  298.  
  299.   Function Receive(FileName As String) As String
  300.     dim i,s as new TextFile
  301.     dim remdir as string
  302.     dim cmd as string
  303.   
  304.     ' set up a file object for the incoming file
  305.     i.FileName = FileName
  306.   
  307.     ' make sure the remote dir name ends with a slash
  308.     remdir = RemoteDir
  309.     If Right$(remdir, 1) <> "/" Then 
  310.       remdir = remdir & "/"
  311.     End If
  312.   
  313.     ' Create the ini file for ws_ftp32
  314.     BuildIniFile("download.ini")
  315.   
  316.     ' Build the ftp command
  317.     cmd = "ws_ftp32 -i download.ini "
  318.   
  319.     ' For anonymous logins, use the full remote host name in ws_ftp32 command
  320.     ' otherwise use the 'configuration' named envelop in the upload.ini file
  321.     If Username = "anonymous" Then 
  322.       cmd = cmd & RemoteHost & ":" & remdir & i.FileName
  323.     Else 
  324.       cmd = cmd & "envelop:" & remdir & i.FileName
  325.     End If
  326.   
  327.     cmd = cmd & " local:" & i.Path & i.FileName
  328.   
  329.     ' Run the ftp command
  330.     RunProgramRedirect(cmd, -1, 0, -1, -1, -1)
  331.   
  332.     ' Tidy up
  333.     s.FileName = "download.ini"
  334.     s.Delete
  335.   
  336.     ' Base our return value upon the existence of the file
  337.     ' we were downloading
  338.     Receive = IIf(i.Exists, "ok", "File not downloaded")
  339.   
  340.   End Function
  341.  
  342.   Function Send(FileName As String) As String
  343.     dim i,s as new TextFile
  344.     dim remdir as string
  345.     dim cmd as string
  346.   
  347.     ' set up a file object for the outgoing file
  348.     i.FileName = FileName
  349.   
  350.     If (Not i.Exists || i.Size = 0) Then 
  351.       Send = "The File: " & i.FileName & " does not exist or is empty."
  352.       Exit Function
  353.     End If
  354.   
  355.     ' make sure the remote dir name ends with a slash
  356.     remdir = RemoteDir
  357.     If Right$(remdir, 1) <> "/" Then 
  358.       remdir = remdir & "/"
  359.     End If
  360.   
  361.     ' Create the ini file for ws_ftp32
  362.     BuildIniFile("upload.ini")
  363.   
  364.     ' Need to ensure that ws_ftp32 is in the path...
  365.   
  366.     ' Build the ftp command
  367.     cmd = "ws_ftp32 -i upload.ini "
  368.     cmd = cmd & "local:" & i.Path & i.FileName & " "
  369.   
  370.     ' For anonymous logins, use the full remote host name in ws_ftp32 command
  371.     ' otherwise use the 'configuration' named envelop in the upload.ini file
  372.     If Username = "anonymous" Then 
  373.       cmd = cmd & RemoteHost & ":" & remdir & i.FileName
  374.     Else 
  375.       cmd = cmd & "envelop:" & remdir & i.FileName
  376.     End If
  377.   
  378.   
  379.   
  380.     ' Run the ftp command
  381.     RunProgramRedirect(cmd, -1, 0, -1, -1, -1)
  382.   
  383.     ' Tidy up
  384.     s.FileName = "upload.ini"
  385.     s.Delete
  386.   
  387.     Send = "ok"
  388.   End Function
  389.  
  390. End Type
  391.  
  392. Type ZIParchive From File
  393.   Declare Function SearchPath Lib "kernel32" Alias "SearchPathA" (ByVal path As Long, ByVal target As String, ByVal ext As Long, ByVal cchBuf As Long, ByVal buf As Long, namePartAddr As Long) As Long
  394.  
  395.   ' METHODS for object: ZIParchive
  396.   Sub AddFileToArchive (theFile As String, recurseSubdirs As Boolean, delFiles As Boolean)
  397.     Dim cmd As String
  398.     Dim opts As String
  399.     Dim f As New TextFile
  400.     Dim l As New TextFile
  401.   
  402.     ' Ensure the zip program is findable
  403.     If Not ZIPProgExists Then 
  404.       InfoBox.Message("ZIP Alert", "The zip.exe program was not found.  Ensure that the directory which contains it is in your PATH.")
  405.       Exit Sub
  406.     End If
  407.   
  408.     ' Get out if no file name passed to us
  409.     If theFile = "" Then Exit Sub
  410.   
  411.     ' Get out if we don't have a meaningful file
  412.     f.FileName = theFile
  413.     If (Not f.Exists) Then 
  414.       Dim d As New Directory
  415.       d.Path = theFile
  416.       If (Not d.Exists) Then 
  417.         d.Path = d.CurrentDir & "\" & theFile
  418.         If (Not d.Exists) Then 
  419.           Exit Sub
  420.         End If
  421.       End If
  422.       opts = IIf(recurseSubdirs, "-r ", "")
  423.     Else 
  424.       ' suppress path info for files going into archive
  425.       opts = "-j "
  426.     End If
  427.   
  428.     If delFiles Then opts = opts & "-m "
  429.   
  430.     ' add the file(s) to the archive
  431.     cmd = "zip " & opts & FileName & " " & theFile
  432.   
  433.     ' For Some unknown reason, if we don't provide a file for stdout, zip
  434.     ' has problems (internal logic error) adding stuff to existing archives.  ??
  435.     l.FileName = "tmpzip.log"
  436.     l.Create -1
  437.   
  438.     RunProgramRedirect(cmd, -1, -1, -1, l.Handle, -1)
  439.   
  440.     l.Close
  441.     l.Delete
  442.   
  443.   End Sub
  444.  
  445.   Sub  AddTextToArchive (thetext As String, filetitle As String)
  446.     Dim f As New TextFile
  447.   
  448.     If thetext = "" Then Exit Sub
  449.   
  450.     ' Create a temporary file to hold the text, add it to the
  451.     ' archive and then blow it away
  452.     f.FileName = filetitle
  453.     f.Create -1
  454.     f.SetContentsTo thetext
  455.     f.Close
  456.   
  457.     AddFileToArchive(filetitle, False, False)
  458.   
  459.     f.Delete
  460.   
  461.   End Sub
  462.  
  463.   Sub ExtractAllFiles
  464.     Dim cmd As String
  465.   
  466.     ' Ensure existence...
  467.     If Not Exists Then 
  468.       InfoBox.Message("Alert", "Could not find the archive:  " & FileName)
  469.       Exit Sub
  470.     End If
  471.   
  472.     ' Need to ensure that unzip is in the path
  473.     cmd = "unzip " & FileName
  474.     RunProgramRedirect(cmd, -1, -1, -1, -1, -1)
  475.   
  476.   
  477.   End Sub
  478.  
  479.   Sub InitArchive
  480.     ' All we do here is check to see if a file with this name already exists,
  481.     ' and if it does, blow it away to make room for the archive
  482.     If Exists Then Delete
  483.   End Sub
  484.  
  485.   Function ZIPProgExists As Boolean
  486.     Dim db As New DataBuffer
  487.     Dim r, namePartAddr As Long
  488.     Dim ok As Boolean
  489.     db.Size = 200
  490.     r = SearchPath(0, "zip.exe", 0, 260, db.Data, namePartAddr)
  491.     ok = r > 0 && r < db.Size
  492.     ZIPProgExists = ok
  493.   End Function
  494.  
  495. End Type
  496.  
  497. Type FTPactive From FTPtransfer
  498.  
  499.   ' METHODS for object: FTPactive
  500.   Function FTPProgExists As Boolean
  501.     Dim db As New DataBuffer
  502.     Dim r, namePartAddr As Long
  503.     Dim ok As Boolean
  504.     db.Size = 200
  505.     r = SearchPath(0, "ftp.exe", 0, 260, db.Data, namePartAddr)
  506.     ok = r > 0 && r < db.Size
  507.     FTPProgExists = ok
  508.   End Function
  509.  
  510.   Function Receive(FileName As String) As String
  511.     dim s,l as new TextFile
  512.     dim cmd as string
  513.   
  514.     ' Create the script used to retrieve file via ftp
  515.     s.FileName = "ftp.dnl"
  516.     s.Create -1
  517.     s.Print "open " & RemoteHost
  518.     s.Print Username
  519.     s.Print Password
  520.     s.Print "cd " & RemoteDir
  521.     s.Print "binary"
  522.     s.Print "get " & FileName
  523.     s.Print "quit"
  524.     s.Close
  525.   
  526.     ' Build the ftp command
  527.     cmd = "ftp -s:ftp.upl"
  528.   
  529.     ' Create the output file
  530.     l.FileName = "ftp.log"
  531.     l.Create -1
  532.   
  533.     ' Run the ftp command
  534.     RunProgramRedirect(cmd, -1, -1, -1, l.Handle, -1)
  535.   
  536.     ' Set our return value to be the output from the ftp command
  537.     Send = l.ContentsAsString
  538.   
  539.     ' Tidy up
  540.     l.Close
  541.     s.Delete
  542.   End Function
  543.  
  544.   Function Send(FileName As String) As String
  545.     dim s,l as new TextFile
  546.     dim cmd as string
  547.   
  548.     ' Create the script used to ftp out file
  549.     s.FileName = "ftp.upl"
  550.     s.Create -1
  551.     s.Print "open " & RemoteHost
  552.     s.Print Username
  553.     s.Print Password
  554.     s.Print "cd " & RemoteDir
  555.     s.Print "binary"
  556.     s.Print "put " & FileName
  557.     s.Print "quit"
  558.     s.Close
  559.   
  560.     ' Build the ftp command
  561.     cmd = "ftp -s:ftp.upl"
  562.   
  563.     ' Create the output file
  564.     l.FileName = "ftp.log"
  565.     l.Create -1
  566.   
  567.     ' Run the ftp command
  568.     RunProgramRedirect(cmd, -1, -1, -1, l.Handle, -1)
  569.   
  570.     ' Set our return value to be the output from the ftp command
  571.     Send = l.ContentsAsString
  572.   
  573.     ' Tidy up
  574.     l.Close
  575.     s.Delete
  576.   End Function
  577.  
  578. End Type
  579.  
  580. Type FOBUploadWizard From WizardMaster.Wizard
  581.   Type Header From WizardMaster.FrmStep
  582.     Dim TextBox1 As New TextBox
  583.  
  584.     ' METHODS for object: FOBUploadWizard.Header
  585.     Sub ValidateDisplay(ok As Boolean)
  586.       If Not initialized Then 
  587.         TextBox1.Text = ""
  588.         initialized = True
  589.       End If
  590.     End Sub
  591.  
  592.   End Type
  593.   Type Content From WizardMaster.FrmStep
  594.     Dim TextBox1 As New TextBox
  595.  
  596.     ' METHODS for object: FOBUploadWizard.Content
  597.     Sub ValidateDisplay(ok As Boolean)
  598.       If Not initialized Then 
  599.         TextBox1.Text = ""
  600.         initialized = True
  601.       End If
  602.     End Sub
  603.  
  604.   End Type
  605.   Dim Email As New WizardMaster.FrmStep
  606.   Type FtpLog From WizardMaster.FrmStep
  607.     Dim TextBox1 As New TextBox
  608.   End Type
  609.   Type ZipFile From WizardMaster.FrmStep
  610.     Dim TextBox1 As New TextBox
  611.     Dim BTNBrowse As New Button
  612.     Dim BTNAdd As New Button
  613.     Dim BTNRemove As New Button
  614.     Dim ObjList As New ListBox
  615.     Dim fileNav As New OpenDialog
  616.     Dim BTNAddDir As New Button
  617.  
  618.     ' METHODS for object: FOBUploadWizard.ZipFile
  619.     Sub BTNAddDir_Click()
  620.       FOBUploadWizard.AddWholeDir
  621.     End Sub
  622.  
  623.     Sub BTNAdd_Click()
  624.       If ObjList.ItemIndex(TextBox1.Text) = -1 Then ObjList.AddItem(TextBox1.Text)
  625.     End Sub
  626.  
  627.     Sub BTNBrowse_Click()
  628.       dim ok as integer
  629.       dim f as new File
  630.     
  631.       fileNav.Filter = "Envelop Binary (*.ebo)|*.ebo|Envelop Text (*.eto)|*.eto|Envelop Resource (*.ero)|*.ero|Help Files (*.hlp)|*.hlp|Text Files (*.txt)|*.txt|All Types (*.*)|*.*"
  632.       fileNav.FileName = ""
  633.       ok = fileNav.Execute
  634.       If (ok = 1) Then 
  635.         TextBox1.Text = fileNav.FileName
  636.         If ObjList.ItemIndex(TextBox1.Text) = -1 Then ObjList.AddItem(TextBox1.Text)
  637.         f.FileName = fileNav.FileName
  638.         fileNav.InitialDir = f.Path
  639.       Else 
  640.         TextBox1.Text = ""
  641.       End If
  642.     End Sub
  643.  
  644.     Sub BTNRemove_Click()
  645.       ObjList.RemoveItem(ObjList.ListIndex)
  646.     End Sub
  647.  
  648.     Sub ValidateDisplay(ok As Boolean)
  649.       If Not initialized Then 
  650.         TextBox1.Text = ""
  651.         ObjList.Clear
  652.         initialized = True
  653.       End If
  654.     End Sub
  655.  
  656.   End Type
  657.   Type IntroPage From WizardMaster.FrmStep
  658.     Dim Label1 As New Label
  659.     Dim Label2 As New Label
  660.     Dim Label3 As New Label
  661.     Dim Label4 As New Label
  662.     Dim Label5 As New Label
  663.     Dim Label7 As New Label
  664.   End Type
  665.   Type UserInfo From WizardMaster.FrmStep
  666.     Dim Label1 As New Label
  667.     Dim txtUsername As New TextBox
  668.     Dim Label2 As New Label
  669.     Dim Label3 As New Label
  670.     Dim Label4 As New Label
  671.     Dim txtEmail As New TextBox
  672.     Dim txtPassword As New PasswordBox
  673.  
  674.     ' METHODS for object: FOBUploadWizard.UserInfo
  675.     Sub ValidateDisplay(ok As Boolean)
  676.       If Not initialized Then 
  677.         txtEmail.Text = ""
  678.         txtPassword.Text = ""
  679.         txtPassword.PasswordEntry = ""
  680.         txtUsername.Text = ""
  681.         initialized = True
  682.       End If
  683.     End Sub
  684.  
  685.   End Type
  686.   Dim Archive As New ZIParchive
  687.   Dim TransferActive As New FTPactive
  688.   Dim TransferPassive As New FTPpassive
  689.   Dim Active As Boolean
  690.  
  691.   ' METHODS for object: FOBUploadWizard
  692.   Function AddFile (ByVal fullpath As String, ByVal attributes As Long) As Long
  693.     Dim f As New File
  694.     f.FileName = fullpath
  695.     If f.Exists Then 
  696.       If ZipFile.ObjList.ItemIndex(f.FileName) = -1 Then ZipFile.ObjList.AddItem(f.FileName)
  697.     End If
  698.   End Function
  699.  
  700.   Sub AddWholeDir()
  701.     Dim f As New File
  702.     Dim d As New Directory
  703.     ' First try the text in the 'file name' text box to see if the
  704.     ' user has typed in the name of a legit directory
  705.     d.Path = ZipFile.TextBox1.Text
  706.   
  707.     ' If the text did not represent a good dir, try grabbing the
  708.     ' dir off of the filename in the box
  709.     If Not d.Exists Then 
  710.       f.FileName = ZipFile.TextBox1.Text
  711.       d.Path = f.Path
  712.     End If
  713.     If d.Exists Then 
  714.       d.EnumContents(Me, "AddFile", "*.*", 0)
  715.     End If
  716.   
  717.   End Sub
  718.  
  719.   Sub AlertIncompleteFields
  720.     InfoBox.Message("Alert", "You must fill in all fields before proceeding.")
  721.   End Sub
  722.  
  723.   Sub BlowAwayDir(dirPath As String)
  724.     Dim d As New Directory
  725.     d.Path = dirPath
  726.     If d.Exists Then 
  727.       d.EnumContents(Me, "BlowAwayFile", "*.*", 0)
  728.       d.Destroy
  729.     End If
  730.   
  731.   End Sub
  732.  
  733.   Function BlowAwayFile (ByVal fullpath As String, ByVal attributes As Long) As Long
  734.     Dim f As New File
  735.     f.FileName = fullpath
  736.     If f.Exists Then 
  737.       f.ReadOnly = False
  738.       f.Delete
  739.     End If
  740.   End Function
  741.  
  742.   Sub Content_ValidateNext(ok As Boolean)
  743.     If Content.TextBox1.Text = "" Then 
  744.       ok = False
  745.       AlertIncompleteFields
  746.     Else 
  747.       ok = True
  748.     End If
  749.   End Sub
  750.  
  751.   Function DoUpload(upfile as string) as string
  752.     Dim TransferFile As Object
  753.     TransferFile = IIf(Active, TransferActive, TransferPassive)
  754.     TransferFile.RemoteHost = "ftp.envelop.com"
  755.     TransferFile.Username = "anonymous"
  756.     TransferFile.Password = UserInfo.txtEmail.Text
  757.     TransferFile.RemoteDir = "/incoming/fobs"
  758.   
  759.     DoUpload = TransferFile.Send(upfile)
  760.   End Function
  761.  
  762.   Sub Email_ValidateFinish(ok As Boolean)
  763.     Email_ValidateNext(ok)
  764.   End Sub
  765.  
  766.   Sub Email_ValidateNext(ok As Boolean)
  767.     Dim u As New TextFile
  768.     Dim t As New TextFile
  769.     Dim d As New Directory
  770.     Dim i As Integer
  771.     Dim ds As String
  772.     Dim haveActive As Boolean
  773.     Dim havePassive As Boolean
  774.   
  775.     haveActive = TransferActive.ProgExists
  776.     havePassive = TransferPassive.ProgExists
  777.   
  778.     If Active && havePassive Then Active = False
  779.   
  780.     If Not Active && Not havePassive Then 
  781.       If haveActive Then 
  782.         InfoBox.Message("FTP Alert", "The Upload Wizard was unable to find the passive mode FTP program, ws_ftp32.exe, in its path.  It will use ftp.exe instead.  If you are behind a firewall, this may not succeed.  If you have ws_ftp32.exe, modify your PATH so that it contains the ws_ftp32 program.  You can download the ws_ftp32 program from:  http://www.csra.net/junodj/")
  783.         Active = True
  784.       Else 
  785.         InfoBox.Message("FTP Alert", "The Upload Wizard was unable to find neither the passive mode FTP program, ws_ftp32.exe, nor ftp.exe in its path.  The upload can not proceed.  If you have ws_ftp32.exe or ftp.exe, modify your PATH so that it contains their directories. If you are behind a firewall, you may be required to use ws_ftp32.  You can download it from:  http://www.csra.net/junodj/")
  786.         ok = False
  787.         Exit Sub
  788.       End If
  789.     End If
  790.   
  791.     ' Ensure the zip program is findable
  792.     If Not Archive.ZIPProgExists Then 
  793.       InfoBox.Message("ZIP Alert", "The zip.exe program was not found.  Ensure that the directory which contains it is in your PATH.")
  794.       Exit Sub
  795.     End If
  796.   
  797.     InitializeArchive
  798.   
  799.     u.FileName = "userinfo"
  800.     u.Create -1
  801.     With UserInfo
  802.       u.Print .txtUsername.Text & " " & .txtEmail.Text & " " & .txtPassword.PasswordEntry
  803.     End With
  804.   
  805.     u.Close
  806.     Archive.AddFileToArchive(u.FileName, False, False)
  807.     u.Delete
  808.   
  809.     Archive.AddTextToArchive(Header.TextBox1.Text, "header")
  810.     Archive.AddTextToArchive(Content.TextBox1.Text, "body")
  811.   
  812.     ds = d.CurrentDir & "\"
  813.   
  814.     ' Rather than making the user create a zip file, we'll
  815.     ' have asked him for the files of interest, make a subdir,
  816.     ' copy the files there, and zip the subdir.
  817.     ds = d.CurrentDir & "\envlpusr"
  818.     d.Path = ds
  819.     d.Create
  820.     ' CreateDirectoryEx(d.CurrentDir, ds, 0)
  821.   
  822.     ' for each guy in list, CopyFile(t.FileName ,  ds & "\" & t.Name & t.Extension , 0)
  823.     ' zip the directory (zip -m will do cleanup of the dir & files)
  824.     For i = 0 To ZipFile.ObjList.ListCount - 1
  825.       ZipFile.ObjList.ListIndex = i
  826.       t.FileName = ZipFile.ObjList.Text
  827.       CopyFile(t.FileName, ds & "\" & t.Name & t.Extension, 0)
  828.     Next i
  829.   
  830.     Archive.AddFileToArchive("envlpusr", True, True)
  831.   
  832.     ' ZIP is supposed to blow away files & dirs when the 3rd param to
  833.     ' AddFileToArchive is True.  Sometimes it does not do its job.
  834.     ' So we have to.  To compund matters, the Destroy method on a Directory
  835.     ' object currently is not blowing away the dir's files.
  836.     ' So we will do all of the cleanup manually...
  837.     BlowAwayDir(ds)
  838.   
  839.   
  840.     ' Do a LoadForm to ensure that the Form & its TextBox child exist
  841.     ' before we go about setting the text on the textbox
  842.     FtpLog.LoadForm
  843.     FtpLog.TextBox1.Text = "File sent as: " & Archive.FileName & "  Status = " & DoUpload(Archive.FileName)
  844.   
  845.     Archive.Delete
  846.     Archive.FileName = ""
  847.   
  848.     ok = -1
  849.   End Sub
  850.  
  851.   Sub Header_ValidateNext(ok As Boolean)
  852.     If Header.TextBox1.Text = "" Then 
  853.       ok = False
  854.       AlertIncompleteFields
  855.     Else 
  856.       ok = True
  857.     End If
  858.   End Sub
  859.  
  860.   Sub InitializeArchive
  861.     Dim clockstr As String
  862.     Dim datestr As String
  863.     Dim mixer As String
  864.   
  865.     ' do something to get a more random name...
  866.     ' a bit ghastly.  is there a better way?
  867.     clockstr = Left$(Clock.Time, 8)
  868.     datestr = Left$(Clock.Date, 5)
  869.   
  870.     mixer = "_" & Mid(datestr, 1, 2) & Mid(datestr, 4, 2)
  871.     mixer = mixer & Mid(clockstr, 1, 2) & Mid(clockstr, 4, 2) & Mid(clockstr, 7, 2)
  872.   
  873.     Archive.FileName = UserInfo.txtUsername.Text & mixer & ".zip"
  874.     Archive.InitArchive
  875.   End Sub
  876.  
  877.   Sub UserInfo_ValidateNext(ok As Boolean)
  878.     If (UserInfo.txtUsername.Text = "" || UserInfo.txtPassword.Text = "" || UserInfo.txtEmail.Text = "") Then 
  879.       AlertIncompleteFields
  880.       ok = False
  881.     Else 
  882.       ok = True
  883.     End If
  884.   End Sub
  885.  
  886.   Sub ZipFile_ValidateFinish(ok As Boolean)
  887.     Email_ValidateNext(ok)
  888.   End Sub
  889.  
  890.   Sub ZipFile_ValidateNext(ok As Boolean)
  891.     If (ZipFile.ObjList.ListCount = 0) Then 
  892.       InfoBox.Message("Alert", "No files were specified.  ^M^JUse the Browse or Add buttons to add files to the list before proceeding.")
  893.       ok = False
  894.     Else 
  895.       ok = True
  896.     End If
  897.   End Sub
  898.  
  899. End Type
  900.  
  901. Type UploadPackage
  902.  
  903.   ' METHODS for object: UploadPackage
  904.   Sub Run
  905.     UploadWizardSelect.Show
  906.   End Sub
  907.  
  908. End Type
  909.  
  910. Type MemPageUploadWizard From WizardMaster.Wizard
  911.   Dim Email As New WizardMaster.FrmStep
  912.   Type FtpLog From WizardMaster.FrmStep
  913.     Dim TextBox1 As New TextBox
  914.   End Type
  915.   Type TarFiles From WizardMaster.FrmStep
  916.     Dim TextBox1 As New TextBox
  917.     Dim FileList As New ListBox
  918.     Dim AddFile As New Button
  919.     Dim RemoveFile As New Button
  920.     Dim BTNBrowse As New Button
  921.     Dim fileNav As New OpenDialog
  922.     Dim BTNAddDir As New Button
  923.  
  924.     ' METHODS for object: MemPageUploadWizard.TarFiles
  925.     Sub AddFile_Click()
  926.       FileList.AddItem(TextBox1.Text)
  927.     End Sub
  928.  
  929.     Sub BTNAddDir_Click()
  930.       MemPageUploadWizard.AddWholeDir
  931.     End Sub
  932.  
  933.     Sub BTNBrowse_Click()
  934.       dim ok as integer
  935.       dim f as new File
  936.     
  937.       fileNav.Filter = "HTML Files (*.html)|*.html|HTML files (*.htm)|*.htm|GIF files (*.gif)|*.gif|JPEG files (*.jpg)|*.jpg|All Types (*.*)|*.*"
  938.       fileNav.FileName = ""
  939.       ok = fileNav.Execute
  940.       If (ok = 1) Then 
  941.         TextBox1.Text = fileNav.FileName
  942.         If FileList.ItemIndex(TextBox1.Text) = -1 Then FileList.AddItem(TextBox1.Text)
  943.         f.FileName = fileNav.FileName
  944.         fileNav.InitialDir = f.Path
  945.       Else 
  946.         TextBox1.Text = ""
  947.       End If
  948.     End Sub
  949.  
  950.     Sub RemoveFile_Click()
  951.       FileList.RemoveItem(FileList.ListIndex)
  952.     End Sub
  953.  
  954.   End Type
  955.   Type IntroPage From WizardMaster.FrmStep
  956.     Dim Label1 As New Label
  957.     Dim Label2 As New Label
  958.     Dim Label3 As New Label
  959.     Dim Label5 As New Label
  960.   End Type
  961.   Type UserInfo From WizardMaster.FrmStep
  962.     Dim Label1 As New Label
  963.     Dim Label2 As New Label
  964.     Dim Label3 As New Label
  965.     Dim txtUsername As New TextBox
  966.     Dim txtEmail As New TextBox
  967.     Dim txtPassword As New PasswordBox
  968.   End Type
  969.   Dim Archive As New ZIParchive
  970.   Dim TransferActive As New FTPactive
  971.   Dim TransferPassive As New FTPpassive
  972.   Dim Active As Boolean
  973.  
  974.   ' METHODS for object: MemPageUploadWizard
  975.   Function AddFile (ByVal fullpath As String, ByVal attributes As Long) As Long
  976.     Dim f As New File
  977.     f.FileName = fullpath
  978.     If f.Exists Then 
  979.       If TarFiles.FileList.ItemIndex(f.FileName) = -1 Then TarFiles.FileList.AddItem(f.FileName)
  980.     End If
  981.   End Function
  982.  
  983.   Sub AddWholeDir()
  984.     Dim f As New File
  985.     Dim d As New Directory
  986.     ' First try the text in the 'file name' text box to see if the
  987.     ' user has typed in the name of a legit directory
  988.     d.Path = TarFiles.TextBox1.Text
  989.   
  990.     ' If the text did not represent a good dir, try grabbing the
  991.     ' dir off of the filename in the box
  992.     If Not d.Exists Then 
  993.       f.FileName = TarFiles.TextBox1.Text
  994.       d.Path = f.Path
  995.     End If
  996.     If d.Exists Then 
  997.       d.EnumContents(Me, "AddFile", "*.*", 0)
  998.     End If
  999.   
  1000.   End Sub
  1001.  
  1002.   Sub AlertIncompleteFields
  1003.     InfoBox.Message("Alert", "You must fill in all fields before proceeding.")
  1004.   End Sub
  1005.  
  1006.   Function DoUpload(upfile as string) as string
  1007.     Dim TransferFile As Object
  1008.     TransferFile = IIf(Active, TransferActive, TransferPassive)
  1009.   
  1010.     TransferFile.RemoteHost = "ftp.envelop.com"
  1011.     TransferFile.Username = "anonymous"
  1012.     TransferFile.Password = UserInfo.txtEmail.Text
  1013.     TransferFile.RemoteDir = "/incoming/hmpgs"
  1014.   
  1015.     DoUpload = TransferFile.Send(upfile)
  1016.   End Function
  1017.  
  1018.   Sub Email_ValidateFinish(ok As Boolean)
  1019.     Email_ValidateNext(ok)
  1020.   End Sub
  1021.  
  1022.   Sub Email_ValidateNext(ok As Boolean)
  1023.     Dim i As Integer
  1024.     Dim u As New TextFile
  1025.     Dim haveActive As Boolean
  1026.     Dim havePassive As Boolean
  1027.   
  1028.     haveActive = TransferActive.ProgExists
  1029.     havePassive = TransferPassive.ProgExists
  1030.   
  1031.     If Active && havePassive Then Active = False
  1032.   
  1033.     If Not Active && Not havePassive Then 
  1034.       If haveActive Then 
  1035.         InfoBox.Message("FTP Alert", "The Upload Wizard was unable to find the passive mode FTP program, ws_ftp32.exe, in its path.  It will use ftp.exe instead.  If you are behind a firewall, this may not succeed.  If you have ws_ftp32.exe, modify your PATH so that it contains the ws_ftp32 program.  You can download the ws_ftp32 program from:  http://www.csra.net/junodj/")
  1036.         Active = True
  1037.       Else 
  1038.         InfoBox.Message("FTP Alert", "The Upload Wizard was unable to find neither the passive mode FTP program, ws_ftp32.exe, nor ftp.exe in its path.  The upload can not proceed.  If you have ws_ftp32.exe or ftp.exe, modify your PATH so that it contains their directories. If you are behind a firewall, you may be required to use ws_ftp32.  You can download it from:  http://www.csra.net/junodj/")
  1039.         ok = False
  1040.         Exit Sub
  1041.       End If
  1042.     End If
  1043.   
  1044.     ' Ensure the zip program is findable
  1045.     If Not Archive.ZIPProgExists Then 
  1046.       InfoBox.Message("ZIP Alert", "The zip.exe program was not found.  Ensure that the directory which contains it is in your PATH.")
  1047.       Exit Sub
  1048.     End If
  1049.     InitializeArchive
  1050.   
  1051.     u.FileName = "userinfo"
  1052.     u.Create -1
  1053.     With UserInfo
  1054.       u.Print .txtUsername.Text & " " & .txtEmail.Text & " " & .txtPassword.PasswordEntry
  1055.     End With
  1056.     u.Close
  1057.     Archive.AddFileToArchive(u.FileName, False, False)
  1058.     u.Delete
  1059.   
  1060.     For i = 0 To TarFiles.FileList.ListCount - 1
  1061.       TarFiles.FileList.ListIndex = i
  1062.       Archive.AddFileToArchive(TarFiles.FileList.Text, False, False)
  1063.     Next i
  1064.   
  1065.     ' Do a LoadForm to ensure that the Form & its TextBox child exist
  1066.     ' before we go about setting the tex on the textbox
  1067.     FtpLog.LoadForm
  1068.     FtpLog.TextBox1.Text = "File sent as: " & Archive.FileName & "  Status = " & DoUpload(Archive.FileName)
  1069.   
  1070.     Archive.Delete
  1071.     Archive.FileName = ""
  1072.     ok = -1
  1073.   End Sub
  1074.  
  1075.   Sub InitializeArchive
  1076.     Dim clockstr As String
  1077.     Dim datestr As String
  1078.     Dim mixer As String
  1079.   
  1080.     ' do something to get a more random name...
  1081.     ' a bit ghastly.  is there a better way?
  1082.     clockstr = Left$(Clock.Time, 8)
  1083.     datestr = Left$(Clock.Date, 5)
  1084.   
  1085.     mixer = "_" & Mid(datestr, 1, 2) & Mid(datestr, 4, 2)
  1086.     mixer = mixer & Mid(clockstr, 1, 2) & Mid(clockstr, 4, 2) & Mid(clockstr, 7, 2)
  1087.   
  1088.     Archive.FileName = UserInfo.txtUsername.Text & mixer & ".zip"
  1089.     Archive.InitArchive
  1090.   End Sub
  1091.  
  1092.   Sub TarFiles_ValidateFinish(ok As Boolean)
  1093.     Email_ValidateNext(ok)
  1094.   End Sub
  1095.  
  1096.   Sub TarFiles_ValidateNext(ok As Boolean)
  1097.     Dim i As Integer
  1098.     Dim f As New File
  1099.   
  1100.     ok = False
  1101.   
  1102.     ' Ensure that we have a file named index.html
  1103.     For i = 0 To TarFiles.FileList.ListCount - 1
  1104.       TarFiles.FileList.ListIndex = i
  1105.       f.FileName = TarFiles.FileList.Text
  1106.       If f.Name = "index" && f.Extension = ".html" Then 
  1107.         ok = True
  1108.         Exit For
  1109.       End If
  1110.     Next i
  1111.   
  1112.     If Not ok Then InfoBox.Message("Alert", "You must provide a file named index.html when uploading your member homepage")
  1113.   
  1114.   
  1115.   End Sub
  1116.  
  1117.   Sub UserInfo_ValidateNext(ok As Boolean)
  1118.     If (UserInfo.txtUsername.Text = "" || UserInfo.txtPassword.Text = "" || UserInfo.txtEmail.Text = "") Then 
  1119.       AlertIncompleteFields
  1120.       ok = False
  1121.     Else 
  1122.       ok = True
  1123.     End If
  1124.   End Sub
  1125.  
  1126. End Type
  1127.  
  1128. Begin Code
  1129. ' Reconstruction commands for object: PasswordBox
  1130. '
  1131.   With PasswordBox
  1132.     .Move(0, 0, 0, 0)
  1133.     .WordWrap := False
  1134.     .MultiLine := False
  1135.     .MaskCode := 42
  1136.   End With  'PasswordBox
  1137. ' Reconstruction commands for object: UploadPackageInstaller
  1138. '
  1139.   With UploadPackageInstaller
  1140.     .TextPreLoad()
  1141.     With .UploadWizardInstall
  1142.       .title_ := "Upload Wizard"
  1143.       .Title := "Upload Wizard"
  1144.       .GraphicFileName := "upldpkg.ero"
  1145.       .FirstStep := UploadPackageInstaller.UploadWizardInstall.InstChoice
  1146.       .LastStep := UploadPackageInstaller.UploadWizardInstall.InstChoice
  1147.       With .InstChoice
  1148.         .Caption := "Upload Wizard Install"
  1149.         .Move(3840, 3630, 7155, 4815)
  1150.         .DefaultButton := UploadPackageInstaller.UploadWizardInstall.InstChoice.BtnFinish
  1151.         .CancelButton := UploadPackageInstaller.UploadWizardInstall.InstChoice.BtnCancel
  1152.         .wizard := UploadPackageInstaller.UploadWizardInstall
  1153.         With .optDoInstall
  1154.           .Caption := "Yes, Install the upload wizards"
  1155.           .ZOrder := 5
  1156.           .Move(2850, 1200, 4050, 450)
  1157.           .TabStop := True
  1158.           .TabGroup := True
  1159.           .Value := True
  1160.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.optDoInstall
  1161.         With .optDontInstall
  1162.           .Caption := "No, don't install.  "
  1163.           .ZOrder := 6
  1164.           .Move(2850, 1950, 4050, 450)
  1165.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.optDontInstall
  1166.         With .BtnFinish
  1167.           .ZOrder := 2
  1168.           .Move(6225, 4050, 825, 300)
  1169.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.BtnFinish
  1170.         With .BtnNext
  1171.           .Enabled := False
  1172.           .ZOrder := 1
  1173.           .Move(5325, 4050, 825, 300)
  1174.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.BtnNext
  1175.         With .BtnBack
  1176.           .Enabled := False
  1177.           .ZOrder := 3
  1178.           .Move(4500, 4050, 825, 300)
  1179.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.BtnBack
  1180.         With .BtnCancel
  1181.           .ZOrder := 4
  1182.           .Move(3600, 4050, 825, 300)
  1183.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.BtnCancel
  1184.         With .ImgGraphic
  1185.           .ZOrder := 9
  1186.           .Move(225, 225, 2475, 3150)
  1187.           .Picture := UploadPackageInstaller.UploadWizardInstall.Bitmap
  1188.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.ImgGraphic
  1189.         With .LblInstruction
  1190.           .Caption := "Would you like to install the upload wizards permanently?  After the installation is finished, you can access the upload wizards by selecting the 'Upload...' button on the Tools menu."
  1191.           .ZOrder := 8
  1192.           .Move(2850, 225, 4125, 825)
  1193.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.LblInstruction
  1194.         With .Frame1
  1195.           .ZOrder := 7
  1196.           .Move(75, 3825, 6975, 75)
  1197.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.Frame1
  1198.       End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice
  1199.       With .Bitmap
  1200.         .LoadType := "MemoryBased"
  1201.         .FileName := "upldpkg.ero"
  1202.         .ResId := 0
  1203.       End With  'UploadPackageInstaller.UploadWizardInstall.Bitmap
  1204.     End With  'UploadPackageInstaller.UploadWizardInstall
  1205.   End With  'UploadPackageInstaller
  1206. ' Reconstruction commands for object: FTPtransfer
  1207. '
  1208.   With FTPtransfer
  1209.     .Username := ""
  1210.     .Password := ""
  1211.     .RemoteHost := ""
  1212.     .RemoteDir := ""
  1213.   End With  'FTPtransfer
  1214. ' Reconstruction commands for object: UploadWizardSelect
  1215. '
  1216.   With UploadWizardSelect
  1217.     .title_ := "Upload Wizard Select"
  1218.     .Title := "Upload Wizard Select"
  1219.     .GraphicFileName := "upldpkg.ero"
  1220.     .FirstStep := UploadWizardSelect.SelectWiz
  1221.     .LastStep := UploadWizardSelect.SelectWiz
  1222.     With .SelectWiz
  1223.       .Caption := "Upload Wizard Select"
  1224.       .Move(4275, 3300, 7155, 4815)
  1225.       .DefaultButton := UploadWizardSelect.SelectWiz.BtnNext
  1226.       .CancelButton := UploadWizardSelect.SelectWiz.BtnCancel
  1227.       .wizard := UploadWizardSelect
  1228.       With .optUploadFOB
  1229.         .Caption := "A Free Object"
  1230.         .ZOrder := 2
  1231.         .Move(2850, 900, 3000, 450)
  1232.         .TabStop := True
  1233.         .TabGroup := True
  1234.       End With  'UploadWizardSelect.SelectWiz.optUploadFOB
  1235.       With .optHomepage
  1236.         .Caption := "My Homepage"
  1237.         .ZOrder := 3
  1238.         .Move(2850, 1500, 3000, 450)
  1239.       End With  'UploadWizardSelect.SelectWiz.optHomepage
  1240.       With .BtnFinish
  1241.         .Enabled := False
  1242.         .ZOrder := 1
  1243.         .Move(6225, 4050, 825, 300)
  1244.       End With  'UploadWizardSelect.SelectWiz.BtnFinish
  1245.       With .BtnNext
  1246.         .ZOrder := 4
  1247.         .Move(5325, 4050, 825, 300)
  1248.       End With  'UploadWizardSelect.SelectWiz.BtnNext
  1249.       With .BtnBack
  1250.         .Enabled := False
  1251.         .ZOrder := 5
  1252.         .Move(4500, 4050, 825, 300)
  1253.       End With  'UploadWizardSelect.SelectWiz.BtnBack
  1254.       With .BtnCancel
  1255.         .ZOrder := 6
  1256.         .Move(3600, 4050, 825, 300)
  1257.       End With  'UploadWizardSelect.SelectWiz.BtnCancel
  1258.       With .ImgGraphic
  1259.         .ZOrder := 9
  1260.         .Move(225, 225, 2475, 3150)
  1261.         .Picture := UploadWizardSelect.Bitmap
  1262.       End With  'UploadWizardSelect.SelectWiz.ImgGraphic
  1263.       With .LblInstruction
  1264.         .Caption := "What would you like to upload?"
  1265.         .ZOrder := 7
  1266.         .Move(2850, 225, 4125, 375)
  1267.       End With  'UploadWizardSelect.SelectWiz.LblInstruction
  1268.       With .Frame1
  1269.         .ZOrder := 8
  1270.         .Move(75, 3825, 6975, 75)
  1271.       End With  'UploadWizardSelect.SelectWiz.Frame1
  1272.     End With  'UploadWizardSelect.SelectWiz
  1273.     With .Bitmap
  1274.       .LoadType := "MemoryBased"
  1275.       .FileName := "upldpkg.ero"
  1276.       .ResId := 2704
  1277.     End With  'UploadWizardSelect.Bitmap
  1278.   End With  'UploadWizardSelect
  1279. ' Reconstruction commands for object: FTPpassive
  1280. '
  1281.   With FTPpassive
  1282.   End With  'FTPpassive
  1283. ' Reconstruction commands for object: ZIParchive
  1284. '
  1285.   With ZIParchive
  1286.   End With  'ZIParchive
  1287. ' Reconstruction commands for object: FTPactive
  1288. '
  1289.   With FTPactive
  1290.   End With  'FTPactive
  1291. ' Reconstruction commands for object: FOBUploadWizard
  1292. '
  1293.   With FOBUploadWizard
  1294.     .title_ := "Free Objects Upload Wizard"
  1295.     .Title := "Free Objects Upload Wizard"
  1296.     .GraphicFileName := "upldpkg.ero"
  1297.     .FirstStep := FOBUploadWizard.IntroPage
  1298.     .LastStep := FOBUploadWizard.FtpLog
  1299.     .Active := False
  1300.     With .Header
  1301.       .Caption := "Free Objects Upload Wizard"
  1302.       .Move(5280, 4515, 7155, 4815)
  1303.       .DefaultButton := FOBUploadWizard.Header.BtnNext
  1304.       .CancelButton := FOBUploadWizard.Header.BtnCancel
  1305.       .wizard := FOBUploadWizard
  1306.       .NextStep := FOBUploadWizard.Content
  1307.       .BackStep := FOBUploadWizard.UserInfo
  1308.       With .TextBox1
  1309.         .ZOrder := 1
  1310.         .Move(2700, 750, 4350, 300)
  1311.       End With  'FOBUploadWizard.Header.TextBox1
  1312.       With .BtnFinish
  1313.         .Enabled := False
  1314.         .ZOrder := 7
  1315.         .Move(6225, 4050, 825, 300)
  1316.       End With  'FOBUploadWizard.Header.BtnFinish
  1317.       With .BtnNext
  1318.         .ZOrder := 2
  1319.         .Move(5325, 4050, 825, 300)
  1320.       End With  'FOBUploadWizard.Header.BtnNext
  1321.       With .BtnBack
  1322.         .ZOrder := 3
  1323.         .Move(4500, 4050, 825, 300)
  1324.       End With  'FOBUploadWizard.Header.BtnBack
  1325.       With .BtnCancel
  1326.         .ZOrder := 4
  1327.         .Move(3600, 4050, 825, 300)
  1328.       End With  'FOBUploadWizard.Header.BtnCancel
  1329.       With .ImgGraphic
  1330.         .ZOrder := 5
  1331.         .Move(300, 300, 2250, 3150)
  1332.         .Picture := FOBUploadWizard.Bitmap
  1333.       End With  'FOBUploadWizard.Header.ImgGraphic
  1334.       With .LblInstruction
  1335.         .Caption := "Enter a brief one line description of your object."
  1336.         .ZOrder := 8
  1337.         .Move(2700, 225, 4275, 375)
  1338.       End With  'FOBUploadWizard.Header.LblInstruction
  1339.       With .Frame1
  1340.         .ZOrder := 6
  1341.         .Move(75, 3825, 6975, 75)
  1342.       End With  'FOBUploadWizard.Header.Frame1
  1343.     End With  'FOBUploadWizard.Header
  1344.     With .Content
  1345.       .Caption := "Free Objects Upload Wizard"
  1346.       .Move(5280, 4515, 7155, 4815)
  1347.       .DefaultButton := FOBUploadWizard.Content.BtnNext
  1348.       .CancelButton := Nothing
  1349.       .wizard := FOBUploadWizard
  1350.       .NextStep := FOBUploadWizard.ZipFile
  1351.       .BackStep := FOBUploadWizard.Header
  1352.       With .TextBox1
  1353.         .ZOrder := 1
  1354.         .Move(2700, 1050, 4200, 2550)
  1355.         .WordWrap := True
  1356.         .MultiLine := True
  1357.         .ScrollBars := "Vertical"
  1358.       End With  'FOBUploadWizard.Content.TextBox1
  1359.       With .BtnFinish
  1360.         .Enabled := False
  1361.         .ZOrder := 7
  1362.         .Move(6225, 4050, 825, 300)
  1363.       End With  'FOBUploadWizard.Content.BtnFinish
  1364.       With .BtnNext
  1365.         .ZOrder := 2
  1366.         .Move(5325, 4050, 825, 300)
  1367.       End With  'FOBUploadWizard.Content.BtnNext
  1368.       With .BtnBack
  1369.         .ZOrder := 3
  1370.         .Move(4500, 4050, 825, 300)
  1371.       End With  'FOBUploadWizard.Content.BtnBack
  1372.       With .BtnCancel
  1373.         .ZOrder := 4
  1374.         .Move(3600, 4050, 825, 300)
  1375.       End With  'FOBUploadWizard.Content.BtnCancel
  1376.       With .ImgGraphic
  1377.         .ZOrder := 5
  1378.         .Move(300, 300, 2250, 3150)
  1379.         .Picture := FOBUploadWizard.Bitmap
  1380.       End With  'FOBUploadWizard.Content.ImgGraphic
  1381.       With .LblInstruction
  1382.         .Caption := "Enter a complete description of the object you are uploading.  You may also enter HTML to provide links to your homepage or other sites of interest."
  1383.         .ZOrder := 8
  1384.         .Move(2700, 225, 4275, 675)
  1385.       End With  'FOBUploadWizard.Content.LblInstruction
  1386.       With .Frame1
  1387.         .ZOrder := 6
  1388.         .Move(75, 3825, 6975, 75)
  1389.       End With  'FOBUploadWizard.Content.Frame1
  1390.     End With  'FOBUploadWizard.Content
  1391.     With .Email
  1392.       .Caption := "Free Objects Upload Wizard"
  1393.       .Move(5280, 4515, 7155, 4815)
  1394.       .DefaultButton := FOBUploadWizard.Email.BtnNext
  1395.       .CancelButton := Nothing
  1396.       .ControlBox := True
  1397.       .wizard := FOBUploadWizard
  1398.       .NextStep := FOBUploadWizard.FtpLog
  1399.       .BackStep := FOBUploadWizard.ZipFile
  1400.       With .BtnFinish
  1401.         .ZOrder := 5
  1402.         .Move(6225, 4050, 825, 300)
  1403.       End With  'FOBUploadWizard.Email.BtnFinish
  1404.       With .BtnNext
  1405.         .ZOrder := 1
  1406.         .Move(5325, 4050, 825, 300)
  1407.       End With  'FOBUploadWizard.Email.BtnNext
  1408.       With .BtnBack
  1409.         .ZOrder := 6
  1410.         .Move(4500, 4050, 825, 300)
  1411.       End With  'FOBUploadWizard.Email.BtnBack
  1412.       With .BtnCancel
  1413.         .ZOrder := 2
  1414.         .Move(3600, 4050, 825, 300)
  1415.       End With  'FOBUploadWizard.Email.BtnCancel
  1416.       With .ImgGraphic
  1417.         .ZOrder := 3
  1418.         .Move(300, 300, 2250, 3150)
  1419.         .Picture := FOBUploadWizard.Bitmap
  1420.       End With  'FOBUploadWizard.Email.ImgGraphic
  1421.       With .LblInstruction
  1422.         .Caption := "You are now ready to do the upload. Click 'Next' if you are connected to the Internet.  The wizard will package all of the information and send it to the Envelop web server."
  1423.         .ZOrder := 4
  1424.         .Move(2700, 225, 4275, 825)
  1425.       End With  'FOBUploadWizard.Email.LblInstruction
  1426.       With .Frame1
  1427.         .ZOrder := 7
  1428.         .Move(75, 3825, 6975, 75)
  1429.       End With  'FOBUploadWizard.Email.Frame1
  1430.     End With  'FOBUploadWizard.Email
  1431.     With .FtpLog
  1432.       .Caption := "Free Objects Upload Wizard"
  1433.       .Move(5280, 4515, 7155, 4815)
  1434.       .DefaultButton := FOBUploadWizard.FtpLog.BtnFinish
  1435.       .CancelButton := Nothing
  1436.       .wizard := FOBUploadWizard
  1437.       .BackStep := FOBUploadWizard.Email
  1438.       With .TextBox1
  1439.         .ZOrder := 1
  1440.         .Move(2700, 750, 4200, 3000)
  1441.         .WordWrap := True
  1442.         .MultiLine := True
  1443.         .ScrollBars := "Vertical"
  1444.       End With  'FOBUploadWizard.FtpLog.TextBox1
  1445.       With .BtnFinish
  1446.         .ZOrder := 7
  1447.         .Move(6225, 4050, 825, 300)
  1448.       End With  'FOBUploadWizard.FtpLog.BtnFinish
  1449.       With .BtnNext
  1450.         .Enabled := False
  1451.         .ZOrder := 2
  1452.         .Move(5325, 4050, 825, 300)
  1453.       End With  'FOBUploadWizard.FtpLog.BtnNext
  1454.       With .BtnBack
  1455.         .ZOrder := 3
  1456.         .Move(4500, 4050, 825, 300)
  1457.       End With  'FOBUploadWizard.FtpLog.BtnBack
  1458.       With .BtnCancel
  1459.         .Enabled := False
  1460.         .ZOrder := 4
  1461.         .Move(3600, 4050, 825, 300)
  1462.       End With  'FOBUploadWizard.FtpLog.BtnCancel
  1463.       With .ImgGraphic
  1464.         .ZOrder := 5
  1465.         .Move(300, 300, 2250, 3150)
  1466.         .Picture := FOBUploadWizard.Bitmap
  1467.       End With  'FOBUploadWizard.FtpLog.ImgGraphic
  1468.       With .LblInstruction
  1469.         .Caption := "Here is the result log of your ftp submission."
  1470.         .ZOrder := 8
  1471.         .Move(2700, 225, 4275, 375)
  1472.       End With  'FOBUploadWizard.FtpLog.LblInstruction
  1473.       With .Frame1
  1474.         .ZOrder := 6
  1475.         .Move(75, 3825, 6975, 75)
  1476.       End With  'FOBUploadWizard.FtpLog.Frame1
  1477.     End With  'FOBUploadWizard.FtpLog
  1478.     With .ZipFile
  1479.       .Caption := "Free Objects Upload Wizard"
  1480.       .Move(5280, 4515, 7155, 4815)
  1481.       .DefaultButton := FOBUploadWizard.ZipFile.BtnNext
  1482.       .CancelButton := Nothing
  1483.       .wizard := FOBUploadWizard
  1484.       .NextStep := FOBUploadWizard.Email
  1485.       .BackStep := FOBUploadWizard.Content
  1486.       With .TextBox1
  1487.         .ZOrder := 4
  1488.         .Move(2700, 1200, 4200, 300)
  1489.       End With  'FOBUploadWizard.ZipFile.TextBox1
  1490.       With .BTNBrowse
  1491.         .Caption := "Browse..."
  1492.         .ZOrder := 3
  1493.         .Move(6000, 1650, 900, 300)
  1494.       End With  'FOBUploadWizard.ZipFile.BTNBrowse
  1495.       With .BTNAdd
  1496.         .Caption := "Add"
  1497.         .ZOrder := 2
  1498.         .Move(2700, 1650, 600, 300)
  1499.       End With  'FOBUploadWizard.ZipFile.BTNAdd
  1500.       With .BTNRemove
  1501.         .Caption := "Remove"
  1502.         .ZOrder := 1
  1503.         .Move(3450, 1650, 900, 300)
  1504.       End With  'FOBUploadWizard.ZipFile.BTNRemove
  1505.       With .BTNAddDir
  1506.         .Caption := "Add Whole Dir"
  1507.         .ZOrder := 1
  1508.         .Move(4500, 1650, 1350, 300)
  1509.       End With  'FOBUploadWizard.ZipFile.BTNAddDir
  1510.       With .ObjList
  1511.         .Caption := "ObjList"
  1512.         .ZOrder := 10
  1513.         .Move(2715, 2115, 4170, 1590)
  1514.       End With  'FOBUploadWizard.ZipFile.ObjList
  1515.       With .fileNav
  1516.         .Title := ""
  1517.         .DefaultExtension := ""
  1518.         .FileMustExist := True
  1519.         .FileName := ""
  1520.         .Filter := ""
  1521.       End With  'FOBUploadWizard.ZipFile.fileNav
  1522.       With .BtnFinish
  1523.         .ZOrder := 7
  1524.         .Move(6225, 4050, 825, 300)
  1525.       End With  'FOBUploadWizard.ZipFile.BtnFinish
  1526.       With .BtnNext
  1527.         .ZOrder := 6
  1528.         .Move(5325, 4050, 825, 300)
  1529.       End With  'FOBUploadWizard.ZipFile.BtnNext
  1530.       With .BtnBack
  1531.         .ZOrder := 5
  1532.         .Move(4500, 4050, 825, 300)
  1533.       End With  'FOBUploadWizard.ZipFile.BtnBack
  1534.       With .BtnCancel
  1535.         .ZOrder := 11
  1536.         .Move(3600, 4050, 825, 300)
  1537.       End With  'FOBUploadWizard.ZipFile.BtnCancel
  1538.       With .ImgGraphic
  1539.         .ZOrder := 12
  1540.         .Move(300, 300, 2250, 3150)
  1541.         .Picture := FOBUploadWizard.Bitmap
  1542.       End With  'FOBUploadWizard.ZipFile.ImgGraphic
  1543.       With .LblInstruction
  1544.         .Caption := "Enter the names of all the files related to your submission.  (Envelop Object files,  a Help file, a README.TXT file, and any other files your object needs)"
  1545.         .ZOrder := 9
  1546.         .Move(2700, 225, 4275, 825)
  1547.       End With  'FOBUploadWizard.ZipFile.LblInstruction
  1548.       With .Frame1
  1549.         .ZOrder := 8
  1550.         .Move(75, 3825, 6975, 75)
  1551.       End With  'FOBUploadWizard.ZipFile.Frame1
  1552.     End With  'FOBUploadWizard.ZipFile
  1553.     With .IntroPage
  1554.       .Caption := "Free Objects Upload Wizard"
  1555.       .Move(4380, 3150, 7155, 4815)
  1556.       .DefaultButton := FOBUploadWizard.IntroPage.BtnNext
  1557.       .CancelButton := FOBUploadWizard.IntroPage.BtnCancel
  1558.       .wizard := FOBUploadWizard
  1559.       .NextStep := FOBUploadWizard.UserInfo
  1560.       With .Label1
  1561.         .Caption := "You will be prompted for the following information:"
  1562.         .ZOrder := 6
  1563.         .Move(2700, 750, 4350, 300)
  1564.       End With  'FOBUploadWizard.IntroPage.Label1
  1565.       With .Label2
  1566.         .Caption := "1. Your username, password, and email address"
  1567.         .ZOrder := 5
  1568.         .Move(2700, 1200, 4350, 300)
  1569.       End With  'FOBUploadWizard.IntroPage.Label2
  1570.       With .Label3
  1571.         .Caption := "2. A single line brief description of your object"
  1572.         .ZOrder := 4
  1573.         .Move(2700, 1650, 4350, 300)
  1574.       End With  'FOBUploadWizard.IntroPage.Label3
  1575.       With .Label4
  1576.         .Caption := "3. Text that fully describes your object"
  1577.         .ZOrder := 3
  1578.         .Move(2700, 2100, 4350, 300)
  1579.       End With  'FOBUploadWizard.IntroPage.Label4
  1580.       With .Label5
  1581.         .Caption := "4. All files related to your submission"
  1582.         .ZOrder := 2
  1583.         .Move(2700, 2550, 4350, 300)
  1584.       End With  'FOBUploadWizard.IntroPage.Label5
  1585.       With .Label7
  1586.         .Caption := "The wizard will package up all of this information and you will be notified via email after it has been inspected."
  1587.         .ZOrder := 1
  1588.         .Move(2700, 3000, 4275, 600)
  1589.       End With  'FOBUploadWizard.IntroPage.Label7
  1590.       With .BtnFinish
  1591.         .Enabled := False
  1592.         .ZOrder := 13
  1593.         .Move(6225, 4050, 825, 300)
  1594.       End With  'FOBUploadWizard.IntroPage.BtnFinish
  1595.       With .BtnNext
  1596.         .ZOrder := 7
  1597.         .Move(5325, 4050, 825, 300)
  1598.       End With  'FOBUploadWizard.IntroPage.BtnNext
  1599.       With .BtnBack
  1600.         .Enabled := False
  1601.         .ZOrder := 8
  1602.         .Move(4500, 4050, 825, 300)
  1603.       End With  'FOBUploadWizard.IntroPage.BtnBack
  1604.       With .BtnCancel
  1605.         .ZOrder := 9
  1606.         .Move(3600, 4050, 825, 300)
  1607.       End With  'FOBUploadWizard.IntroPage.BtnCancel
  1608.       With .ImgGraphic
  1609.         .ZOrder := 10
  1610.         .Move(300, 300, 2250, 3150)
  1611.         .Picture := FOBUploadWizard.Bitmap
  1612.       End With  'FOBUploadWizard.IntroPage.ImgGraphic
  1613.       With .LblInstruction
  1614.         .Caption := "This is the Upload Wizard for Free Objects"
  1615.         .ZOrder := 11
  1616.         .Move(2700, 225, 4275, 375)
  1617.       End With  'FOBUploadWizard.IntroPage.LblInstruction
  1618.       With .Frame1
  1619.         .ZOrder := 12
  1620.         .Move(75, 3825, 6975, 75)
  1621.       End With  'FOBUploadWizard.IntroPage.Frame1
  1622.     End With  'FOBUploadWizard.IntroPage
  1623.     With .UserInfo
  1624.       .Caption := "Free Objects Upload Wizard"
  1625.       .Move(4380, 3150, 7155, 4815)
  1626.       .DefaultButton := FOBUploadWizard.UserInfo.BtnNext
  1627.       .CancelButton := FOBUploadWizard.UserInfo.BtnCancel
  1628.       .wizard := FOBUploadWizard
  1629.       .NextStep := FOBUploadWizard.Header
  1630.       .BackStep := FOBUploadWizard.IntroPage
  1631.       With .Label1
  1632.         .Caption := "User ID:"
  1633.         .ZOrder := 7
  1634.         .Move(2700, 900, 1050, 300)
  1635.       End With  'FOBUploadWizard.UserInfo.Label1
  1636.       With .txtUsername
  1637.         .ZOrder := 2
  1638.         .Move(3750, 900, 2850, 300)
  1639.       End With  'FOBUploadWizard.UserInfo.txtUsername
  1640.       With .Label2
  1641.         .Caption := "Label2"
  1642.         .ZOrder := 5
  1643.         .Move(2400, 1050, 30, 30)
  1644.       End With  'FOBUploadWizard.UserInfo.Label2
  1645.       With .Label3
  1646.         .Caption := "Password:"
  1647.         .ZOrder := 3
  1648.         .Move(2700, 1350, 1050, 300)
  1649.       End With  'FOBUploadWizard.UserInfo.Label3
  1650.       With .txtPassword
  1651.         .ZOrder := 4
  1652.         .Move(3750, 1350, 2850, 300)
  1653.         .WordWrap := False
  1654.         .MultiLine := False
  1655.       End With  'FOBUploadWizard.UserInfo.txtPassword
  1656.       With .Label4
  1657.         .Caption := "email:"
  1658.         .ZOrder := 1
  1659.         .Move(2700, 1800, 1050, 300)
  1660.       End With  'FOBUploadWizard.UserInfo.Label4
  1661.       With .txtEmail
  1662.         .ZOrder := 6
  1663.         .Move(3750, 1800, 2850, 300)
  1664.       End With  'FOBUploadWizard.UserInfo.txtEmail
  1665.       With .BtnFinish
  1666.         .Enabled := False
  1667.         .ZOrder := 10
  1668.         .Move(6225, 4050, 825, 300)
  1669.       End With  'FOBUploadWizard.UserInfo.BtnFinish
  1670.       With .BtnNext
  1671.         .ZOrder := 8
  1672.         .Move(5325, 4050, 825, 300)
  1673.       End With  'FOBUploadWizard.UserInfo.BtnNext
  1674.       With .BtnBack
  1675.         .ZOrder := 9
  1676.         .Move(4500, 4050, 825, 300)
  1677.       End With  'FOBUploadWizard.UserInfo.BtnBack
  1678.       With .BtnCancel
  1679.         .ZOrder := 11
  1680.         .Move(3600, 4050, 825, 300)
  1681.       End With  'FOBUploadWizard.UserInfo.BtnCancel
  1682.       With .ImgGraphic
  1683.         .ZOrder := 12
  1684.         .Move(300, 300, 2250, 3150)
  1685.         .Picture := FOBUploadWizard.Bitmap
  1686.       End With  'FOBUploadWizard.UserInfo.ImgGraphic
  1687.       With .LblInstruction
  1688.         .Caption := "Enter your Enveloper Corps user ID and password and your email address."
  1689.         .ZOrder := 13
  1690.         .Move(2700, 225, 4275, 525)
  1691.       End With  'FOBUploadWizard.UserInfo.LblInstruction
  1692.       With .Frame1
  1693.         .ZOrder := 14
  1694.         .Move(75, 3825, 6975, 75)
  1695.       End With  'FOBUploadWizard.UserInfo.Frame1
  1696.     End With  'FOBUploadWizard.UserInfo
  1697.     With .Archive
  1698.     End With  'FOBUploadWizard.Archive
  1699.     With .TransferActive
  1700.     End With  'FOBUploadWizard.TransferActive
  1701.     With .TransferPassive
  1702.     End With  'FOBUploadWizard.TransferPassive
  1703.     With .Bitmap
  1704.       .LoadType := "MemoryBased"
  1705.       .FileName := "upldpkg.ero"
  1706.       .ResId := 5408
  1707.     End With  'FOBUploadWizard.Bitmap
  1708.   End With  'FOBUploadWizard
  1709. ' Reconstruction commands for object: UploadPackage
  1710. '
  1711.   With UploadPackage
  1712.   End With  'UploadPackage
  1713. ' Reconstruction commands for object: MemPageUploadWizard
  1714. '
  1715.   With MemPageUploadWizard
  1716.     .title_ := "Member Homepage Upload Wizard"
  1717.     .Title := "Member Homepage Upload Wizard"
  1718.     .GraphicFileName := "upldpkg.ero"
  1719.     .FirstStep := MemPageUploadWizard.IntroPage
  1720.     .LastStep := MemPageUploadWizard.FtpLog
  1721.     .Active := False
  1722.     With .Email
  1723.       .Caption := "Member Homepage Upload Wizard"
  1724.       .Move(2940, 2265, 7155, 4815)
  1725.       .DefaultButton := MemPageUploadWizard.Email.BtnNext
  1726.       .CancelButton := Nothing
  1727.       .wizard := MemPageUploadWizard
  1728.       .NextStep := MemPageUploadWizard.FtpLog
  1729.       .BackStep := MemPageUploadWizard.TarFiles
  1730.       With .BtnFinish
  1731.         .ZOrder := 2
  1732.         .Move(6225, 4050, 825, 300)
  1733.       End With  'MemPageUploadWizard.Email.BtnFinish
  1734.       With .BtnNext
  1735.         .ZOrder := 5
  1736.         .Move(5325, 4050, 825, 300)
  1737.       End With  'MemPageUploadWizard.Email.BtnNext
  1738.       With .BtnBack
  1739.         .ZOrder := 1
  1740.         .Move(4500, 4050, 825, 300)
  1741.       End With  'MemPageUploadWizard.Email.BtnBack
  1742.       With .BtnCancel
  1743.         .ZOrder := 6
  1744.         .Move(3600, 4050, 825, 300)
  1745.       End With  'MemPageUploadWizard.Email.BtnCancel
  1746.       With .ImgGraphic
  1747.         .ZOrder := 1
  1748.         .Move(225, 225, 2250, 3150)
  1749.         .Picture := MemPageUploadWizard.Bitmap
  1750.       End With  'MemPageUploadWizard.Email.ImgGraphic
  1751.       With .LblInstruction
  1752.         .Caption := "You are now ready to do the upload. Click 'Next' if you are connected to the Internet. The wizard will package up all of the information and send it to the Envelop web server."
  1753.         .ZOrder := 4
  1754.         .Move(2700, 225, 4275, 825)
  1755.       End With  'MemPageUploadWizard.Email.LblInstruction
  1756.       With .Frame1
  1757.         .ZOrder := 3
  1758.         .Move(75, 3825, 6975, 75)
  1759.       End With  'MemPageUploadWizard.Email.Frame1
  1760.     End With  'MemPageUploadWizard.Email
  1761.     With .FtpLog
  1762.       .Caption := "Member Homepage Upload Wizard"
  1763.       .Move(2940, 2265, 7155, 4815)
  1764.       .DefaultButton := Nothing
  1765.       .CancelButton := Nothing
  1766.       .wizard := MemPageUploadWizard
  1767.       .BackStep := MemPageUploadWizard.Email
  1768.       With .TextBox1
  1769.         .ZOrder := 8
  1770.         .Move(2700, 750, 4200, 3000)
  1771.         .WordWrap := True
  1772.         .MultiLine := True
  1773.         .ScrollBars := "Vertical"
  1774.       End With  'MemPageUploadWizard.FtpLog.TextBox1
  1775.       With .BtnFinish
  1776.         .ZOrder := 2
  1777.         .Move(6225, 4050, 825, 300)
  1778.       End With  'MemPageUploadWizard.FtpLog.BtnFinish
  1779.       With .BtnNext
  1780.         .Enabled := False
  1781.         .ZOrder := 5
  1782.         .Move(5325, 4050, 825, 300)
  1783.       End With  'MemPageUploadWizard.FtpLog.BtnNext
  1784.       With .BtnBack
  1785.         .ZOrder := 1
  1786.         .Move(4500, 4050, 825, 300)
  1787.       End With  'MemPageUploadWizard.FtpLog.BtnBack
  1788.       With .BtnCancel
  1789.         .Enabled := False
  1790.         .ZOrder := 6
  1791.         .Move(3600, 4050, 825, 300)
  1792.       End With  'MemPageUploadWizard.FtpLog.BtnCancel
  1793.       With .ImgGraphic
  1794.         .ZOrder := 1
  1795.         .Move(225, 225, 2250, 3150)
  1796.         .Picture := MemPageUploadWizard.Bitmap
  1797.       End With  'MemPageUploadWizard.FtpLog.ImgGraphic
  1798.       With .LblInstruction
  1799.         .Caption := "Here is the result log of your ftp submission."
  1800.         .ZOrder := 4
  1801.         .Move(2700, 300, 4275, 375)
  1802.       End With  'MemPageUploadWizard.FtpLog.LblInstruction
  1803.       With .Frame1
  1804.         .ZOrder := 3
  1805.         .Move(75, 3825, 6975, 75)
  1806.       End With  'MemPageUploadWizard.FtpLog.Frame1
  1807.     End With  'MemPageUploadWizard.FtpLog
  1808.     With .TarFiles
  1809.       .Caption := "Member Homepage Upload Wizard"
  1810.       .Move(2940, 2265, 7155, 4815)
  1811.       .DefaultButton := Nothing
  1812.       .CancelButton := Nothing
  1813.       .wizard := MemPageUploadWizard
  1814.       .NextStep := MemPageUploadWizard.Email
  1815.       .BackStep := MemPageUploadWizard.UserInfo
  1816.       With .TextBox1
  1817.         .ZOrder := 5
  1818.         .Move(2700, 975, 4200, 450)
  1819.       End With  'MemPageUploadWizard.TarFiles.TextBox1
  1820.       With .FileList
  1821.         .Caption := "FileList"
  1822.         .ZOrder := 4
  1823.         .Move(2715, 1965, 4170, 1785)
  1824.       End With  'MemPageUploadWizard.TarFiles.FileList
  1825.       With .AddFile
  1826.         .Caption := "Add"
  1827.         .ZOrder := 3
  1828.         .Move(2700, 1500, 600, 300)
  1829.       End With  'MemPageUploadWizard.TarFiles.AddFile
  1830.       With .RemoveFile
  1831.         .Caption := "Remove"
  1832.         .ZOrder := 2
  1833.         .Move(3450, 1500, 900, 300)
  1834.       End With  'MemPageUploadWizard.TarFiles.RemoveFile
  1835.       With .BTNAddDir
  1836.         .Caption := "Add Whole Dir"
  1837.         .ZOrder := 1
  1838.         .Move(4500, 1500, 1350, 300)
  1839.       End With  'MemPageUploadWizard.TarFiles.BTNAddDir
  1840.       With .BTNBrowse
  1841.         .Caption := "Browse..."
  1842.         .ZOrder := 1
  1843.         .Move(6000, 1500, 900, 300)
  1844.       End With  'MemPageUploadWizard.TarFiles.BTNBrowse
  1845.       With .fileNav
  1846.         .Title := ""
  1847.         .DefaultExtension := ""
  1848.         .FileMustExist := True
  1849.         .FileName := ""
  1850.         .Filter := ""
  1851.       End With  'MemPageUploadWizard.TarFiles.fileNav
  1852.       With .BtnFinish
  1853.         .ZOrder := 9
  1854.         .Move(6225, 4050, 825, 300)
  1855.       End With  'MemPageUploadWizard.TarFiles.BtnFinish
  1856.       With .BtnNext
  1857.         .ZOrder := 8
  1858.         .Move(5325, 4050, 825, 300)
  1859.       End With  'MemPageUploadWizard.TarFiles.BtnNext
  1860.       With .BtnBack
  1861.         .ZOrder := 7
  1862.         .Move(4500, 4050, 825, 300)
  1863.       End With  'MemPageUploadWizard.TarFiles.BtnBack
  1864.       With .BtnCancel
  1865.         .ZOrder := 6
  1866.         .Move(3600, 4050, 825, 300)
  1867.       End With  'MemPageUploadWizard.TarFiles.BtnCancel
  1868.       With .ImgGraphic
  1869.         .ZOrder := 12
  1870.         .Move(225, 225, 2250, 3150)
  1871.         .Picture := MemPageUploadWizard.Bitmap
  1872.       End With  'MemPageUploadWizard.TarFiles.ImgGraphic
  1873.       With .LblInstruction
  1874.         .Caption := "Enter the HTML source file for you homepage as well as any support files.  Your homepage must be named index.htm."
  1875.         .ZOrder := 11
  1876.         .Move(2700, 300, 4275, 600)
  1877.       End With  'MemPageUploadWizard.TarFiles.LblInstruction
  1878.       With .Frame1
  1879.         .ZOrder := 10
  1880.         .Move(75, 3825, 6975, 75)
  1881.       End With  'MemPageUploadWizard.TarFiles.Frame1
  1882.     End With  'MemPageUploadWizard.TarFiles
  1883.     With .IntroPage
  1884.       .Caption := "Member Homepage Upload Wizard"
  1885.       .Move(2940, 2265, 7155, 4815)
  1886.       .DefaultButton := MemPageUploadWizard.IntroPage.BtnNext
  1887.       .CancelButton := Nothing
  1888.       .wizard := MemPageUploadWizard
  1889.       .NextStep := MemPageUploadWizard.UserInfo
  1890.       With .Label1
  1891.         .Caption := "You will be prompted for the following information:"
  1892.         .ZOrder := 4
  1893.         .Move(2700, 750, 4200, 450)
  1894.       End With  'MemPageUploadWizard.IntroPage.Label1
  1895.       With .Label2
  1896.         .Caption := "1. Your username, password, and email address"
  1897.         .ZOrder := 3
  1898.         .Move(2700, 1650, 4200, 300)
  1899.       End With  'MemPageUploadWizard.IntroPage.Label2
  1900.       With .Label3
  1901.         .Caption := "2. The HTML source text for your homepage, which must be named index.html,  and any support files that it may need."
  1902.         .ZOrder := 2
  1903.         .Move(2700, 2100, 4050, 600)
  1904.       End With  'MemPageUploadWizard.IntroPage.Label3
  1905.       With .Label5
  1906.         .Caption := "The wizard will then package all of this information and send it to the Envelop web server.  You will be notified via email after it has been inspected."
  1907.         .ZOrder := 1
  1908.         .Move(2700, 3000, 4200, 900)
  1909.       End With  'MemPageUploadWizard.IntroPage.Label5
  1910.       With .BtnFinish
  1911.         .Enabled := False
  1912.         .ZOrder := 5
  1913.         .Move(6225, 4050, 825, 300)
  1914.       End With  'MemPageUploadWizard.IntroPage.BtnFinish
  1915.       With .BtnNext
  1916.         .ZOrder := 10
  1917.         .Move(5325, 4050, 825, 300)
  1918.       End With  'MemPageUploadWizard.IntroPage.BtnNext
  1919.       With .BtnBack
  1920.         .Enabled := False
  1921.         .ZOrder := 6
  1922.         .Move(4500, 4050, 825, 300)
  1923.       End With  'MemPageUploadWizard.IntroPage.BtnBack
  1924.       With .BtnCancel
  1925.         .ZOrder := 7
  1926.         .Move(3600, 4050, 825, 300)
  1927.       End With  'MemPageUploadWizard.IntroPage.BtnCancel
  1928.       With .ImgGraphic
  1929.         .ZOrder := 8
  1930.         .Move(225, 225, 2250, 3150)
  1931.         .Picture := MemPageUploadWizard.Bitmap
  1932.       End With  'MemPageUploadWizard.IntroPage.ImgGraphic
  1933.       With .LblInstruction
  1934.         .Caption := "This is the Upload Wizard for Member Homepages"
  1935.         .ZOrder := 9
  1936.         .Move(2700, 225, 4275, 375)
  1937.         .Alignment := "Center"
  1938.       End With  'MemPageUploadWizard.IntroPage.LblInstruction
  1939.       With .Frame1
  1940.         .ZOrder := 11
  1941.         .Move(75, 3825, 6975, 75)
  1942.       End With  'MemPageUploadWizard.IntroPage.Frame1
  1943.     End With  'MemPageUploadWizard.IntroPage
  1944.     With .UserInfo
  1945.       .Caption := "Member Homepage Upload Wizard"
  1946.       .Move(2940, 2265, 7155, 4815)
  1947.       .DefaultButton := MemPageUploadWizard.UserInfo.BtnNext
  1948.       .CancelButton := Nothing
  1949.       .wizard := MemPageUploadWizard
  1950.       .NextStep := MemPageUploadWizard.TarFiles
  1951.       .BackStep := MemPageUploadWizard.IntroPage
  1952.       With .Label1
  1953.         .Caption := "User ID:"
  1954.         .ZOrder := 9
  1955.         .Move(2700, 900, 1050, 300)
  1956.       End With  'MemPageUploadWizard.UserInfo.Label1
  1957.       With .Label2
  1958.         .Caption := "Password:"
  1959.         .ZOrder := 8
  1960.         .Move(2700, 1350, 1050, 300)
  1961.       End With  'MemPageUploadWizard.UserInfo.Label2
  1962.       With .Label3
  1963.         .Caption := "email:"
  1964.         .ZOrder := 7
  1965.         .Move(2700, 1800, 1050, 300)
  1966.       End With  'MemPageUploadWizard.UserInfo.Label3
  1967.       With .txtUsername
  1968.         .ZOrder := 1
  1969.         .Move(3750, 900, 2700, 300)
  1970.       End With  'MemPageUploadWizard.UserInfo.txtUsername
  1971.       With .txtEmail
  1972.         .ZOrder := 3
  1973.         .Move(3750, 1800, 2700, 300)
  1974.       End With  'MemPageUploadWizard.UserInfo.txtEmail
  1975.       With .txtPassword
  1976.         .ZOrder := 2
  1977.         .Move(3750, 1350, 2700, 300)
  1978.         .WordWrap := False
  1979.         .MultiLine := False
  1980.       End With  'MemPageUploadWizard.UserInfo.txtPassword
  1981.       With .BtnFinish
  1982.         .Enabled := False
  1983.         .ZOrder := 10
  1984.         .Move(6225, 4050, 825, 300)
  1985.       End With  'MemPageUploadWizard.UserInfo.BtnFinish
  1986.       With .BtnNext
  1987.         .ZOrder := 4
  1988.         .Move(5325, 4050, 825, 300)
  1989.       End With  'MemPageUploadWizard.UserInfo.BtnNext
  1990.       With .BtnBack
  1991.         .ZOrder := 5
  1992.         .Move(4500, 4050, 825, 300)
  1993.       End With  'MemPageUploadWizard.UserInfo.BtnBack
  1994.       With .BtnCancel
  1995.         .ZOrder := 6
  1996.         .Move(3600, 4050, 825, 300)
  1997.       End With  'MemPageUploadWizard.UserInfo.BtnCancel
  1998.       With .ImgGraphic
  1999.         .ZOrder := 11
  2000.         .Move(225, 225, 2250, 3150)
  2001.         .Picture := MemPageUploadWizard.Bitmap
  2002.       End With  'MemPageUploadWizard.UserInfo.ImgGraphic
  2003.       With .LblInstruction
  2004.         .Caption := "Enter your Enveloper Corps user ID and password and your email address"
  2005.         .ZOrder := 12
  2006.         .Move(2700, 225, 4275, 525)
  2007.       End With  'MemPageUploadWizard.UserInfo.LblInstruction
  2008.       With .Frame1
  2009.         .ZOrder := 13
  2010.         .Move(75, 3825, 6975, 75)
  2011.       End With  'MemPageUploadWizard.UserInfo.Frame1
  2012.     End With  'MemPageUploadWizard.UserInfo
  2013.     With .Archive
  2014.     End With  'MemPageUploadWizard.Archive
  2015.     With .TransferActive
  2016.     End With  'MemPageUploadWizard.TransferActive
  2017.     With .TransferPassive
  2018.     End With  'MemPageUploadWizard.TransferPassive
  2019.     With .Bitmap
  2020.       .LoadType := "MemoryBased"
  2021.       .FileName := "upldpkg.ero"
  2022.       .ResId := 8112
  2023.     End With  'MemPageUploadWizard.Bitmap
  2024.   End With  'MemPageUploadWizard
  2025. End Code
  2026.